#include <stdio.h>
#include <stdlib.h>
#include "stack.h"
#define DataType int
struct SeqStack{
       int MAXNUM;
       int t;
       DataType *s;
       };
typedef struct SeqStack *PSeqStack;

//--------A factorial calculator-----------------------------------------------//  
int nfact (int n){
    int res;
    PSeqStack st;
    st=createEmptyStack_seq(n);
    while (n>0){
          push_seq(st,n);
          n=n-1;
          }
    res=1;
    while (!isEmptyStack_seq(st)){
          res=res*top_seq(st);
          pop_seq(st);
          }
    free(st);
    return res;
    }
//--------Main Function--------------------------------------------------------//  
int main(void)
{
  int n=5;
  int fact_n=nfact(n);
  printf("%d", fact_n);
  system("PAUSE");	
  return 0;
}
